System and method for customizing images

ABSTRACT

A method for customizing an image. The method includes causing generation of at least one signature for an input image, wherein each signature represents a concept, wherein each concept is a collection of signatures and metadata representing the concept; comparing the generated at least one signature to at least one signature representing at least one common visual attribute among a plurality of reference images; determining, based on the comparison, whether to customize the input image; and customizing the input image with respect to at least one of the at least one common visual attribute, when it is determined to customize the input image.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 62/345,882 filed on Jun. 6, 2016. This application is also a continuation-in-part (CIP) of U.S. patent application Ser. No. 14/050,991 filed on Oct. 10, 2013, now pending, which claims the benefit of U.S. Provisional Application No. 61/860,261 filed on Jul. 31, 2013. The Ser. No. 14/050,991 application is also a CIP of U.S. patent application Ser. No. 13/602,858 filed Sep. 4, 2012, now U.S. Pat. No. 8,868,619, which is a continuation of U.S. patent application Ser. No. 12/603,123, filed on Oct. 21, 2009, now U.S. Pat. No. 8,266,185. The Ser. No. 12/603,123 application is a CIP of:

(1) U.S. patent application Ser. No. 12/084,150 having a filing date of Apr. 7, 2009, now U.S. Pat. No. 8,655,801, which is the National Stage of International Application No. PCT/IL2006/001235, filed on Oct. 26, 2006, which claims foreign priority from Israeli Application No. 171577 filed on Oct. 26, 2005, and Israeli Application No. 173409 filed on Jan. 29, 2006;

(2) U.S. patent application Ser. No. 12/195,863 filed on Aug. 21, 2008, now U.S. Pat. No. 8,326,775, which claims priority under 35 USC 119 from Israeli Application No. 185414, filed on Aug. 21, 2007, and which is also a CIP of the above-referenced U.S. patent application Ser. No. 12/084,150;

(3) U.S. patent application Ser. No. 12/348,888 filed on Jan. 5, 2009, now pending, which is a CIP of the above-referenced U.S. patent application Ser. Nos. 12/084,150 and 12/195,863; and

(4) U.S. patent application Ser. No. 12/538,495 filed on Aug. 10, 2009, now U.S. Pat. No. 8,312,031, which is a CIP of the above-referenced U.S. patent application Ser. Nos. 12/084,150; 12/195,863; and Ser. No. 12/348,888.

All of the applications referenced above are herein incorporated by reference for all that they contain.

TECHNICAL FIELD

The present disclosure relates generally to the analysis of multimedia content, and more specifically to automatically customizing images.

BACKGROUND

Computing devices such as smartphones and tablets are often configured to adjust images captured by the computing devices based on, e.g., orientation of the device when captured. For example, a smartphone may be configured to rotate an image based on sensor readings indicating that the smartphone was being held upside down when the image was captured such that the image appears to be properly oriented.

Although some such solutions for adjusting multimedia content exist, these solutions do not typically account for content featured in an image or are unable to accurately and consistently identify specific portions of the image that should be corrected. Accordingly, even images adjusted via existing solutions often appear blurry, unclear, insufficiently bright, or otherwise flawed.

It would be therefore advantageous to provide a solution that overcomes the deficiencies of the prior art.

SUMMARY

A summary of several example embodiments of the disclosure follows. This summary is provided for the convenience of the reader to provide a basic understanding of such embodiments and does not wholly define the breadth of the disclosure. This summary is not an extensive overview of all contemplated embodiments, and is intended to neither identify key or critical elements of all embodiments nor to delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later. For convenience, the term “some embodiments” or “certain embodiments” may be used herein to refer to a single embodiment or multiple embodiments of the disclosure.

Certain embodiments disclosed herein include a method for customizing images. The method comprises: causing generation of at least one signature for an input image, wherein each signature represents a concept, wherein each concept is a collection of signatures and metadata representing the concept; comparing the generated at least one signature to at least one signature representing at least one common visual attribute among a plurality of reference images; determining, based on the comparison, whether to customize the input image; and customizing the input image with respect to at least one of the at least one common visual attribute, when it is determined to customize the input image.

Certain embodiments disclosed herein also include a non-transitory computer readable medium having stored thereon causing a processing circuitry to execute a process, the process comprising: causing generation of at least one signature for an input image, wherein each signature represents a concept, wherein each concept is a collection of signatures and metadata representing the concept; comparing the generated at least one signature to at least one signature representing at least one common visual attribute among a plurality of reference images; determining, based on the comparison, whether to customize the input image; and customizing the input image with respect to at least one of the at least one common visual attribute, when it is determined to customize the input image.

Certain embodiments disclosed herein also include a system for signature-enhanced multimedia content searching. The system comprises: a processing circuitry; and a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to: cause generation of at least one signature for an input image, wherein each signature represents a concept, wherein each concept is a collection of signatures and metadata representing the concept; compare the generated at least one signature to at least one signature representing at least one common visual attribute among a plurality of reference images; determine, based on the comparison, whether to customize the input image; and customize the input image with respect to at least one of the at least one common visual attribute, when it is determined to customize the input image.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter disclosed herein is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the disclosed embodiments will be apparent from the following detailed description taken in conjunction with the accompanying drawings.

FIG. 1 is a network diagram utilized to describe the various embodiments disclosed herein.

FIG. 2 is a flowchart illustrating a method for customizing images according to an embodiment.

FIG. 3 is a flowchart illustrating a method for identifying self-portrait images according to an embodiment.

FIG. 4 is a block diagram depicting the basic flow of information in the signature generator system.

FIG. 5 is a diagram showing the flow of patches generation, response vector generation, and signature generation in a large-scale speech-to-text system.

FIG. 6 is a schematic diagram of an image customizer according to an embodiment.

DETAILED DESCRIPTION

It is important to note that the embodiments disclosed herein are only examples of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed embodiments. Moreover, some statements may apply to some disclosed features but not to others. In general, unless otherwise indicated, singular elements may be in plural and vice versa with no loss of generality. In the drawings, like numerals refer to like parts through several views.

The various disclosed embodiments include a system and method for customizing images. An input image is received or retrieved. Signatures are generated for the input image. Based on the generated signatures and signatures representing at least one common visual attribute among reference images, it is determined whether to customize the input image. When it is determined that the input image should be customized, at least one customization rule is selected and applied based on the at least one common visual attribute, thereby customizing the input image.

FIG. 1 shows an example network diagram 100 utilized to describe the various disclosed embodiments. The network diagram includes a user device 120, an image customizer (IC) 130, a database 150, a deep content classification (DCC) system 160, and a plurality of data sources 170-1 through 170-m (hereinafter referred to individually as a data source 170 and collectively as data sources 170, merely for simplicity purposes). The network 110 may be the Internet, the world-wide-web (WWW), a local area network (LAN), a wide area network (WAN), a metro area network (MAN), and other networks capable of enabling communication between the elements of the network diagram 100.

The user device 120 may be, but is not limited to, a personal computer (PC), a personal digital assistant (PDA), a mobile phone, a smart phone, a tablet computer, an electronic wearable device (e.g., glasses, a watch, etc.), and other kinds of wired and mobile appliances, equipped with browsing, viewing, capturing, storing, listening, filtering, and managing capabilities enabled as further discussed herein below. The user device 120 may include or be communicatively connected to a local storage (not shown) storing images that may be customized. As a non-limiting example, when the user device 120 is a smart phone including a camera, the local storage may store images captured by the camera.

The user device 120 may further include an application (App) 125 installed thereon. The application 125 may be downloaded from an application repository, such as the AppStore®, Google Play®, or any repositories hosting software applications. The application 125 may be pre-installed in the user device 120. In an embodiment, the application 125 may be a web-browser. The application 125 may be configured to receive selections of input images stored in the user device 120 or one of the data sources 170 via an interface (not shown) of the user device 120 and to send the selected input images or identifiers thereof to the image customizer 130. It should be noted that only one user device 120 and one application 125 are discussed with reference to FIG. 1 merely for the sake of simplicity. However, the embodiments disclosed herein are applicable to a plurality of user devices each having an application installed thereon.

The database 150 stores at least reference images, visual attributes associated with the reference images, customization rules, or a combination thereof. In the example network diagram 100, the image customizer 130 is communicatively connected to the database 150 through the network 110. In other non-limiting configurations, the image customizer 130 may be directly connected to the database 150.

Each of the data sources 170 may store images that may be customized. To this end, the data sources 170 may include, but are not limited to, servers or data repositories of entities such as, for example, social media platforms, remote storage providers (e.g., cloud storage service providers), and any other entities storing images.

The signature generator system (SGS) 140 and the deep-content classification (DCC) system 160 may be utilized by the image customizer 130 to perform the various disclosed embodiments. Each of the SGS 140 and the DCC system 160 may be connected to the image customizer 130 directly or through the network 110. In certain configurations, the DCC system 160 and the SGS 140 may be embedded in the image customizer 130.

In an embodiment, the image customizer 130 is configured to receive or retrieve an input image and to generate at least one signature for the input image. The input image may be stored in, e.g., the user device 120 (e.g., in a local storage of the user device 120), one or more of the data sources 170, or both. In a further embodiment, the image customizer 130 is configured to determine whether to customize the input image based on the generated signatures. In an embodiment, determining whether to customize the input image includes determining whether the input image includes at least one visual attribute that is common among reference images. Each reference is associated with a predetermined positive impression. In a further embodiment, the input image is customized when it is determined that the input image does not include one or more of the common visual attributes.

Each signature represents a concept structure (hereinafter referred to as a “concept”). A concept is a collection of signatures representing elements of the unstructured data and metadata describing the concept. As a non-limiting example, a ‘Superman concept’ is a signature-reduced cluster of signatures describing elements (such as multimedia elements) related to, e.g., a Superman cartoon: a set of metadata representing proving textual representation of the Superman concept. Techniques for generating concept structures are also described in the above-referenced U.S. Pat. No. 8,266,185.

In an embodiment, the image customizer 130 is configured to send the input image to the signature generator system 140, to the deep content classification system 160, or both. In a further embodiment, the image customizer 130 is configured to receive a plurality of signatures generated to the multimedia content element from the signature generator system 140, to receive a plurality of signatures (e.g., signature reduced clusters) of concepts matched to the multimedia content element from the deep content classification system 160, or both. In another embodiment, the image customizer 130 may be configured to generate the plurality of signatures, identify the plurality of signatures (e.g., by determining concepts associated with the signature reduced clusters matching each input multimedia content element), or a combination thereof.

In an embodiment, determining whether the input image includes at least one visual attribute common among reference images may include matching the generated signatures for the input image to signatures representing concepts of predetermined visual attributes associated with reference images having positive impressions. The visual attributes of an image may include, but are not limited to, lighting conditions, proportion, orientation, color gradient, facial expressions, background characteristics, and the like. The process of matching between signatures of multimedia content elements is discussed in detail below with respect to FIGS. 4 and 5.

As a non-limiting example for determining whether the input image includes at least one common visual attribute, the generated signatures may be matched to signatures representing the concepts “blue eyes,” “green eyes,” and “brown eyes,” respectively, each of which is a predetermined visual attribute associated with reference images. If the generated signatures do not match the signatures of any of the positive impression concepts (e.g., if the generated signatures include signatures representing the concept “red eyes”), it is determined that the input image does not include the at least one common visual attribute and, therefore, that the input image is to be customized.

In a further embodiment, the matching between the generated signatures and signatures representing concepts associated with positive impressions may be performed with respect to sets of positive impression concepts, where each set includes at least one concept related to a different type of visual attribute. To this end, the matching may include matching the generated signatures to signatures of each set of positive impression concepts, where the image is to be customized if the generated signatures do not match any of the signatures of at least one of the sets of positive impression concepts.

Types of visual attributes may include, but are not limited to, attributes related to different facial features (e.g., eyes, cheeks, lips, hair, etc.), attributes related to different characteristics of the image (e.g., clarity, brightness, color, etc.), or a combination thereof. Matching the generated signatures to different sets of signatures representing positive impression concepts allows for determining different potential customizations of the input image. As a non-limiting example, the generated signatures may be matched to a set of signatures representing positive impression brightness of eyes (e.g., bright appearance of eyes) as well as to a set of signatures representing positive impression clarity images (e.g., images that are not blurry), where it is determined that the input image is to be customized if at least a portion of the generated signatures do not match signatures representing bright eyes, clear face images, or both.

In an optional embodiment, determining whether to customize the input image may further include determining whether the input image is a self-portrait image. A self-portrait image, typically referred to as a “selfie,” is typically taken using a camera or other capturing device (not shown) disposed on or in the screen side of the user device 120 such that the user of the user device 120 can see a display of the user device 120 while the self-portrait image is captured. The capturing device disposed on or in the screen side of the user device 120 may be a lower resolution capturing device (e.g., as compared to a rear side capturing device) and, therefore, self-portrait images captured by the user device 120 may be lower resolution images. In some embodiments, only self-portrait images may be customized.

In an embodiment, when it is determined that the input image is to be customized, one or more customization rules is applied to the input image in order to customize the image. The customization rules include rules for manipulating images, portions thereof, and the like. As non-limiting examples, the customization rules may include rules for brightening, increasing clarity, altering colors, altering facial expressions, altering backgrounds, re-orienting images, proportionally resizing images, and the like. Which customization rules to be applied may be further based on visual attributes of the input image and common visual attributes of the reference images. As a non-limiting example, a customization rule for brightening cheeks shown in an image may be applied when visual attributes of the input multimedia content element (e.g., as indicated based on the generated signatures) include a first cheek brightness and the common visual attributes include a second cheek brightness, where the second cheek brightness is higher than the first cheek brightness.

In an embodiment, the image customizer 130 may be configured to determine the common visual attributes based on a plurality of reference images associated with positive impressions. The reference images may include images associated with predetermined positive impressions. A non-limiting example method for determining positive impression multimedia content elements is described in co-pending U.S. patent application Ser. No. 15/463,414 filed on Mar. 20, 2017, assigned to the common assignee, the contents of which are hereby incorporated by reference.

In an embodiment, determining the common visual attributes may include generating at least one signature for each reference image and identifying, for each reference image, at least one visual attribute concept, where each visual attribute concept represents a visual attribute. In a further embodiment, each common visual attribute is an attribute represented by a visual attribute concept that is common among two or more of the reference images. In another embodiment, the common visual attributes may be determined based on metadata of the reference images.

It should further be noted that using signatures generated for images enable identification of visual attributes of the images, because the signatures generated for the images, according to the disclosed embodiments, allow for recognition and classification of images.

FIG. 2 is an example flowchart 200 illustrating a method for customizing images according to an embodiment. In an embodiment, the method may be performed by the image customizer 130, FIG. 1.

At S210, a plurality of reference images associated with positive impressions is identified. The identified reference images may be or may include images that were previously determined to be associated with positive impressions. Alternatively or collectively, S210 may include determining impressions of a plurality of images to identify images having positive impressions based on signatures of the plurality of images. An example method for determining impressions of images based on signatures is described further in the above-mentioned U.S. patent application Ser. No. 15/463,414. Utilizing reference images associated with positive impressions allows for customizing input images so as to maximize likelihood of positive impressions of the customized images.

At S220, the identified plurality of reference images is analyzed to determine at least one common visual attribute among the plurality of reference images. The visual attributes of an image may include, but are not limited to, lighting conditions, proportion, orientation, color gradient, facial expressions, background characteristics, and the like. In an embodiment, the at least one common visual attribute may be determined based on signatures generated for the reference images (e.g., as described further herein below with respect to FIGS. 4 and 5). In a further embodiment, S220 may include determining, for each reference image, at least one concept representing visual attributes of the reference image, where each common visual attribute is represented by a concept that is related to two or more of the reference images. In yet a further embodiment, S220 may include matching among signatures representing the concepts of each reference image.

At S230, an input image is received. Alternatively, the input image may be retrieved from, e.g., a user device, one or more data sources, both, and the like.

At S240, at least one signature is generated for the input multimedia content element. The signature(s) are generated by a signature generator system (e.g., the SGS 140) as described herein below with respect to FIGS. 4 and 5. Each signature represents a concept structure (hereinafter referred to as a “concept”). A concept is a collection of signatures representing elements of the unstructured data and metadata describing the concept.

At optional S250, it may be determined whether the input image is a self-portrait image and, if so, execution continues with S260; otherwise, execution terminates. Consequently, in some implementations, only self-portrait images may be customized. An example method for determining whether images are self-portrait images is described further herein below with respect to FIG. 3.

At S260, it is determined whether the input image is to be customized with respect to at least one visual attribute of the input image and, if so, execution continues with S270; otherwise, execution terminates. In an embodiment, S260 includes comparing the signatures generated for the input image to signatures representing common concepts of the reference images, where the input image may be customized when one or more of the common concept signatures does not match any of the input image signatures. Signatures may be determined as matching when, for example, the signatures match above a predetermined threshold. As a non-limiting example, when the input image is oriented such that a face shown in the image is rotated clockwise and common concepts among reference images include a concept indicating unrotated images, a signature of the unrotated image concept may not match any of the generated signatures for the input image. Accordingly, it is determined that the input image is to be customized with respect to the clockwise rotation attribute.

In a further embodiment, the matching between the generated signatures and signatures representing concepts associated with positive impressions may be performed with respect to sets of positive impression concepts as described further herein above with respect to FIG. 1. Each set includes at least one concept related to a different type of visual attribute. To this end, S260 may include matching the generated signatures to signatures of each set of positive impression concepts, where the image is to be customized if the generated signatures do not match any of the signatures of at least one of the sets of positive impression concepts.

Types of visual attributes may include, but are not limited to, attributes related to different facial features (e.g., eyes, cheeks, lips, hair, etc.), attributes related to different characteristics of the image (e.g., clarity, brightness, color, etc.), or a combination thereof. Matching the generated signatures to different sets of signatures representing positive impression concepts allows for determining different potential customizations of the input image. For example, an input image may be customized with respect to eyes (e.g., by brightening eyes or removing red eye), with respect to cheeks (e.g., by altering the color of cheeks to appear rosy), and with respect to the clarity of the overall image (e.g., by reducing blurring due to camera shaking), based on comparison of the generated signatures to signatures representing positive impression visual attributes related to eyes, cheeks, and overall image clarity, respectively.

At S270, the input image is customized. In an embodiment, S270 includes applying at least one customization rule defining instructions for customizing the input image. In a further embodiment, S270 may include determining the at least one customization rule to be applied based on at least one visual attribute of the input image and the at least one common visual attribute of the reference images.

The customization rules include rules for manipulating at least portions of images. As non-limiting examples, the customization rules may include rules for brightening, increasing clarity, altering colors, altering facial expressions, altering backgrounds, re-orienting images, proportionally resizing images, and the like.

As a non-limiting example, a common visual attribute indicating green eyes that appear bright among a plurality of reference images is determined. An input image showing a face of a person having green eyes that appear dark is received. Signatures are generated for the input image. Based on the signatures, it is determined that the input image shows a person's face and, therefore, is a self-portrait image. Signatures representing the dark-appearing green eyes are compared to signatures representing the common visual attributes including the bright-appearing green eyes, and based on the comparison, it is determined that the input image should be customized. Customization rules for brightening dark-appearing eyes are selected and applied, thereby customizing the image.

It should be noted that FIG. 2 is described as including identifying reference images and common visual attributes thereof merely for example purposes, and that the determination of whether to customize the input image may be based on predetermined common visual attributes without departing from the scope of the disclosure. As a non-limiting example, a set of signatures representing concepts of common visual attributes may be received or retrieved, where signatures of the list may be compared to the generated signatures for the input image to determine whether the input image includes the common visual attributes.

FIG. 3 depicts an example flowchart S250 illustrating a method for determining if an input image is a self-portrait image according to an embodiment.

At S310, a capturing device that captured the input image is identified. The capturing device may be identified as a particular capturing device, a particular type of capturing device (e.g., a high-resolution camera, a low-resolution camera, etc.), a capturing device facing in particular direction (e.g., disposed in or on the front or rear side of a user device), a combination thereof, and the like. The capturing device may be or may include a camera or other sensor configured to capture images. In an embodiment, S310 includes analyzing metadata associated with the input image to identify the capturing device. To this end, in a further embodiment, S310 may include identifying, based on the metadata, characteristics of the capturing device such as, but not limited to, resolution, quality, colors, capturing device identifiers, and the like.

At S320, it is determined whether a face is identified in the input image. In an embodiment, S320 may include comparing signatures generated for the input image (e.g., the signatures generated at S240, FIG. 2) to a signature representing a “face” concept, where it is determined that a face is identified in the input image when at least one signature of the input images matches the “face” concept signature above a predetermined threshold.

At S330, it is determined if the input image is a self-portrait image. In an embodiment, the self-portrait determination is based on the identified capturing device, the identified face, or both.

It should be noted that the steps of FIG. 3 are described in a particular order merely for example purposes and without limitation on the disclosed embodiments. Other orders may be equally utilized without departing from the scope of the disclosure. In particular, identifying the identifying a person's face may be performed prior to identifying the capturing device without departing from the scope of the disclosure. It should further be noted that either S310 or S320 may be optional such that, e.g., it may be determined whether the input image is a self-portrait image based solely on the results of S310 or of S320. To this end, when it is determined that, e.g., the input image is a self-portrait image based on the identification of the capturing device, S250 may not include identifying a face within the input image.

FIGS. 4 and 5 illustrate the generation of signatures for the multimedia content elements by the SGS 140 according to one embodiment. An exemplary high-level description of the process for large scale matching is depicted in FIG. 4. In this example, the matching is for a video content.

Video content segments 2 from a Master database (DB) 6 and a Target DB 1 are processed in parallel by a large number of independent computational Cores 3 that constitute an architecture for generating the Signatures (hereinafter the “Architecture”). Further details on the computational Cores generation are provided below. The independent Cores 3 generate a database of Robust Signatures and Signatures 4 for Target content-segments 5 and a database of Robust Signatures and Signatures 7 for Master content-segments 8. An exemplary and non-limiting process of signature generation for an audio component is shown in detail in FIG. 4. Finally, Target Robust Signatures and/or Signatures are effectively matched, by a matching algorithm 9, to Master Robust Signatures and/or Signatures database to find all matches between the two databases.

To demonstrate an example of the signature generation process, it is assumed, merely for the sake of simplicity and without limitation on the generality of the disclosed embodiments, that the signatures are based on a single frame, leading to certain simplification of the computational cores generation. The Matching System is extensible for signatures generation capturing the dynamics in-between the frames. In an embodiment, the SGS 140 is configured with a plurality of computational cores to perform matching between signatures.

The Signatures' generation process is now described with reference to FIG. 5. The first step in the process of signatures generation from a given speech-segment is to breakdown the speech-segment to K patches 14 of random length P and random position within the speech segment 12. The breakdown is performed by the patch generator component 21. The value of the number of patches K, random length P and random position parameters is determined based on optimization, considering the tradeoff between accuracy rate and the number of fast matches required in the flow process of the image customizer 130 and SGS 140. Thereafter, all the K patches are injected in parallel into all computational Cores 3 to generate K response vectors 22, which are fed into a signature generator system 23 to produce a database of Robust Signatures and Signatures 4.

In order to generate Robust Signatures, i.e., Signatures that are robust to additive noise L (where L is an integer equal to or greater than 1) by the Computational Cores 3 a frame ‘i’ is injected into all the Cores 3. Then, Cores 3 generate two binary response vectors: {right arrow over (S)} which is a Signature vector, and {right arrow over (RS)} which is a Robust Signature vector.

For generation of signatures robust to additive noise, such as White-Gaussian-Noise, scratch, etc., but not robust to distortions, such as crop, shift and rotation, etc., a core Ci={n_(i)} (1≦i≦L) may consist of a single leaky integrate-to-threshold unit (LTU) node or more nodes. The node n_(i) equations are:

$V_{i} = {\sum\limits_{j}{w_{ij}k_{j}}}$ n_(i) = θ(Vi-Th_(x))

where, θ is a Heaviside step function; w_(ij) is a coupling node unit (CNU) between node i and image component j (for example, grayscale value of a certain pixel j); kj is an image component ‘j’ (for example, grayscale value of a certain pixel j); Thx is a constant Threshold value, where ‘x’ is ‘S’ for Signature and ‘RS’ for Robust Signature; and Vi is a Coupling Node Value.

The Threshold values Thx are set differently for Signature generation and for Robust Signature generation. For example, for a certain distribution of Vi values (for the set of nodes), the thresholds for Signature (Th_(S)) and Robust Signature (Th_(RS)) are set apart, after optimization, according to at least one or more of the following criteria:

-   -   1: For: V_(i)>Th_(RS)         -   1−p(V>Th_(S))−1−(1−ε)^(l)<<1             i.e., given that l nodes (cores) constitute a Robust             Signature of a certain image I, the probability that not all             of these I nodes will belong to the Signature of same, but             noisy image, Ĩ is sufficiently low (according to a system's             specified accuracy).     -   2: p(V_(i)>Th_(RS))≈l/L         i.e., approximately l out of the total L nodes can be found to         generate a Robust Signature according to the above definition.     -   3: Both Robust Signature and Signature are generated for certain         frame i.

It should be understood that the generation of a signature is unidirectional, and typically yields lossless compression, where the characteristics of the compressed data are maintained but the uncompressed data cannot be reconstructed. Therefore, a signature can be used for the purpose of comparison to another signature without the need of comparison to the original data. The detailed description of the Signature generation can be found in U.S. Pat. Nos. 8,326,775 and 8,312,031, assigned to common assignee, which are hereby incorporated by reference for all the useful information they contain.

A Computational Core generation is a process of definition, selection, and tuning of the parameters of the cores for a certain realization in a specific system and application. The process is based on several design considerations, such as:

(a) The Cores should be designed so as to obtain maximal independence, i.e., the projection from a signal space should generate a maximal pair-wise distance between any two cores' projections into a high-dimensional space.

(b) The Cores should be optimally designed for the type of signals, i.e., the Cores should be maximally sensitive to the spatio-temporal structure of the injected signal, for example, and in particular, sensitive to local correlations in time and space. Thus, in some cases a core represents a dynamic system, such as in state space, phase space, edge of chaos, etc., which is uniquely used herein to exploit their maximal computational power.

(c) The Cores should be optimally designed with regard to invariance to a set of signal distortions, of interest in relevant applications.

A detailed description of the Computational Core generation and the process for configuring such cores is discussed in more detail in the above-referenced U.S. Pat. No. 8,655,801.

FIG. 6 is an example schematic diagram of the image customizer 130 according to an embodiment. The image customizer 130 includes a processing circuitry 610 coupled to a memory 620, a storage 630, and a network interface 640. In an embodiment, the components of the image customizer 130 may be communicatively connected via a bus 650.

The processing circuitry 610 may be realized as one or more hardware logic components and circuits. For example, and without limitation, illustrative types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), Application-specific standard products (ASSPs), system-on-a-chip systems (SOCs), general-purpose microprocessors, microcontrollers, digital signal processors (DSPs), and the like, or any other hardware logic components that can perform calculations or other manipulations of information. In an embodiment, the processing circuitry 610 may be realized as an array of at least partially statistically independent computational cores. The properties of each computational core are set independently of those of each other core, as described further herein above.

The memory 620 may be volatile (e.g., RAM, etc.), non-volatile (e.g., ROM, flash memory, etc.), or a combination thereof. In one configuration, computer readable instructions to implement one or more embodiments disclosed herein may be stored in the storage 630.

In another embodiment, the memory 620 is configured to store software. Software shall be construed broadly to mean any type of instructions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Instructions may include code (e.g., in source code format, binary code format, executable code format, or any other suitable format of code). The instructions, when executed by the processing circuitry 610, cause the processing circuitry 610 to perform the various processes described herein. Specifically, the instructions, when executed, cause the processing circuitry 610 to customize images as described herein.

The storage 630 may be magnetic storage, optical storage, and the like, and may be realized, for example, as flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVDs), or any other medium which can be used to store the desired information.

The network interface 640 allows the image customizer 130 to communicate with the signature generator system 140 for the purpose of, for example, sending multimedia content elements, receiving signatures, and the like. Further, the network interface 640 allows the image customizer 130 to receive input images, send and store customized images, and the like.

It should be understood that the embodiments described herein are not limited to the specific architecture illustrated in FIG. 6, and other architectures may be equally used without departing from the scope of the disclosed embodiments. In particular, the image customizer 130 may further include a signature generator system configured to generate signatures as described herein without departing from the scope of the disclosed embodiments.

It should also be understood that various embodiments described herein are discussed with respect to customizing images merely for simplicity purposes and without limitation on the disclosed embodiments. In some embodiments, the customization may be performed for other visual multimedia content elements such as, but not limited to, a graphic, a video stream, a video clip, a video frame, an image of signals (e.g., spectrograms, phasograms, scalograms, etc.), a combination thereof, or a portion thereof. As a non-limiting example, a video frames of a video featuring a person singing may be brightened such that video frames showing the person's face are brightened.

The various embodiments disclosed herein can be implemented as hardware, firmware, software, or any combination thereof. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit or computer readable medium consisting of parts, or of certain devices and/or a combination of devices. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), a memory, and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such a computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit. Furthermore, a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal.

All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the disclosed embodiments and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure. 

What is claimed is:
 1. A method for customizing an image, comprising: causing generation of at least one signature for an input image, wherein each signature represents a concept, wherein each concept is a collection of signatures and metadata representing the concept; comparing the generated at least one signature to at least one signature representing at least one common visual attribute among a plurality of reference images; determining, based on the comparison, whether to customize the input image; and customizing the input image with respect to at least one of the at least one common visual attribute, when it is determined to customize the input image.
 2. The method of claim 1, wherein at least one of the generated at least one signature represents a visual attribute of the input image, wherein customizing the input image further comprises: determining, based on the at least one visual attribute of the input image and the at least one common visual attribute, at least one customization rule to be applied to the input image; and applying the determined at least one customization rule to the input image, each customization rule defining a manipulation of at least a portion of an image.
 3. The method of claim 1, wherein the at least one common visual attribute includes a plurality of sets of common visual attributes, wherein each set is related to a different type of visual attribute, further comprising: comparing the generated at least one signature to a plurality of signatures representing common visual attributes of each set to determine at least one non-matching set, wherein the input image is customized with respect to each type of visual attribute related to one of the at least one non-matching set.
 4. The method of claim 1, further comprising: analyzing the plurality of reference images to determine the at least one common visual attribute.
 5. The method of claim 4, wherein analyzing the plurality of reference images further comprises: for each reference image, determining, based on at least one signature generated for the reference image, a plurality of visual attribute concepts, each visual attribute concept representing a visual attribute of the reference image, wherein the determined at least one common visual attribute includes each visual attribute represented by at least two of the determined visual attribute concepts.
 6. The method of claim 1, wherein determining whether to customize the input image further comprises: determining whether the input image is a self-portrait image, wherein it is determined to customize the input image when the input image is a self-portrait image.
 7. The method of claim 6, wherein determining whether the input image is a self-portrait image further comprises: identifying a capturing device that captured the input image, wherein the determination of whether the input image is a self-portrait image is based on the identified capturing device.
 8. The method of claim 6, wherein determining whether the input image is a self-portrait image further comprises: determining, based on the generated at least one signature, whether at least one face is shown in the input image, wherein it is determined to that the input image is a self-portrait image when it is determined that at least one face is shown in the input image.
 9. The method of claim 1, wherein each signature is generated by a signature generator system, wherein the signature generator system includes a plurality of at least partially statistically independent computational cores, wherein the properties of each core are set independently of the properties of each other core.
 10. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising: causing generation of at least one signature for an input image, wherein each signature represents a concept, wherein each concept is a collection of signatures and metadata representing the concept; comparing the generated at least one signature to at least one signature representing at least one common visual attribute among a plurality of reference images; determining, based on the comparison, whether to customize the input image; and customizing the input image with respect to at least one of the at least one common visual attribute, when it is determined to customize the input image.
 11. A system for determining driving decisions based on multimedia content elements, comprising: a processing circuitry; and a memory connected to the processing circuitry, the memory containing instructions that, when executed by the processing circuitry, configure the system to: cause generation of at least one signature for an input image, wherein each signature represents a concept, wherein each concept is a collection of signatures and metadata representing the concept; compare the generated at least one signature to at least one signature representing at least one common visual attribute among a plurality of reference images; determine, based on the comparison, whether to customize the input image; and customize the input image with respect to at least one of the at least one common visual attribute, when it is determined to customize the input image.
 12. The system of claim 11, wherein at least one of the generated at least one signature represents a visual attribute of the input image, wherein the system is further configured to: determine, based on the at least one visual attribute of the input image and the at least one common visual attribute, at least one customization rule to be applied to the input image; and apply the determined at least one customization rule to the input image, each customization rule defining a manipulation of at least a portion of an image.
 13. The system of claim 11, wherein the at least one common visual attribute includes a plurality of sets of common visual attributes, wherein each set is related to a different type of visual attribute, wherein the system is further configured to: compare the generated at least one signature to a plurality of signatures representing common visual attributes of each set to determine at least one non-matching set, wherein the input image is customized with respect to each type of visual attribute related to one of the at least one non-matching set.
 14. The system of claim 1, wherein the system is further configured to: analyze the plurality of reference images to determine the at least one common visual attribute.
 15. The system of claim 14, wherein the system is further configured to: for each reference image, determine, based on at least one signature generated for the reference image, a plurality of visual attribute concepts, each visual attribute concept representing a visual attribute of the reference image, wherein the determined at least one common visual attribute includes each visual attribute represented by at least two of the determined visual attribute concepts.
 16. The system of claim 11, wherein the system is further configured to: determining whether the input image is a self-portrait image, wherein it is determined to customize the input image when the input image is a self-portrait image.
 17. The system of claim 16, wherein the system is further configured to: identify a capturing device that captured the input image, wherein the determination of whether the input image is a self-portrait image is based on the identified capturing device.
 18. The system of claim 16, wherein the system is further configured to: determine, based on the generated at least one signature, whether at least one face is shown in the input image, wherein it is determined to that the input image is a self-portrait image when it is determined that at least one face is shown in the input image.
 19. The system of claim 11, wherein each signature is generated by a signature generator system, wherein the signature generator system includes a plurality of at least partially statistically independent computational cores, wherein the properties of each core are set independently of the properties of each other core.
 20. The system of claim 11, wherein the at least one common visual attribute includes at least one of: a lighting condition, a proportion, an orientation, a color gradient, a facial expression, and a background characteristic. 